#include "pch.hpp"
#include "Variable.hpp"

using namespace Engine;
using namespace Engine::Script;




Variable::Variable(const char* name, void* data, Type type)
	: m_name(QString::fromUtf8(name))
	, m_data(data)
	, m_type(type)
{}
///////////////////////////////////////////////////////////////////////////////////////////////////

Variable::~Variable()
{}
///////////////////////////////////////////////////////////////////////////////////////////////////




QString Variable::name() const
{
	return m_name;
}
///////////////////////////////////////////////////////////////////////////////////////////////////

QString Variable::declaration() const
{
	QString tmp;
	tmp.append(m_type.name());
	tmp.append(" ");
	tmp.append(name());

	return tmp;
}
///////////////////////////////////////////////////////////////////////////////////////////////////

Type Variable::type() const
{
	return m_type;
}
///////////////////////////////////////////////////////////////////////////////////////////////////

QString Variable::value() const
{
	return m_type.value(m_data);
}
///////////////////////////////////////////////////////////////////////////////////////////////////
